XX. mendeko Euskararen Corpus estatistikoa

Testuingurua

(...) inolako erlaziorik beren funtzioek lortzen duten emaitzarekin.

Akats honen arrazoia historikoa da: lehengo implementazioetan CAR funtzioa Contest of Adress Register zen eta CDR funtzioa Context of Decrement Register.

Geroko inplementazioetan izen horiek ez ziren egokiak, baina CAR eta CDR laburpenen erabilpena guztiz finkatuta zegoen ordurako.

Azken aldi honetan FIRST eta REST identifikadoreen erabilpena bultzatzen da.

CAR eta CDR funtzioen aplikazioak elkarren segidan datozenean modu trinkoaz idatzi ahal dira. Adibidez:

(CADR X ) ampint; ( CAR ( CDR X ))

(CADDR X ) ampint; ( CAR ( CDR ( CDR X )))

Dena dela, irakurgarritasun falta dela eta, ez da oso komenigarria funtzio hauen erabilpena.

Hobe da erabiltzea geroago azalduko diren SECOND, THIRD, ..., TENTH, NTH edo NTHCDR funtzioak.

Oharra: FIRST eta REST funtzioen definizio orokorra bikote motako argumentuetarako egiten da.

FIRSTek bikotearen ezkerraldea itzultzen du eta RESTek eskuinaldea.

A ampAElig; ( X . Y )

(FIRST A) ampAElig; X

(REST Y) ampAElig; Y

Lehenago emandako definizioa azken definizio honen kasu partikularra da, baina gehienetan listak erabiliko ditugunez, eta ez bikoterik, definizio hura argiago gertatzen da.

4.1.3. Listak erabiltzeko funtzioak.

CONS, FIRST eta REST erabiliz edozein lista eraiki ahal da, baina neketsu samarra izan daiteke.

LISPen ba dira listekin jolasteko funtzio erosoagoak.

Adibidez, bi listaren elementu guztiak hirugarren lista bat osatzeko bildu nahi baditugu, CONS funtzioa erabiltzea bururatzen zaigu, baina emaitza ez da egokia:

A = ( BAT BI HIRU )

B = ( LAU BOST )

( CONS A B ) = (( BAT BI HIRU ) LAU BOST )